package com.ruoyi.post.mapper;

import com.ruoyi.post.domain.PostCommentInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 帖子评论信息Mapper接口
 *
 * @author 区嘉盛
 * @date 2025-06-10
 */
public interface PostCommentInfoMapper {

    /**
     * 查询帖子评论信息
     * 
     * @param id 帖子评论信息主键
     * @return 帖子评论信息
     */
    public PostCommentInfo selectPostCommentInfoById(Long id);

    /**
     * 查询帖子评论信息列表
     * 
     * @param postCommentInfo 帖子评论信息
     * @return 帖子评论信息集合
     */
    public List<PostCommentInfo> selectPostCommentInfoList(PostCommentInfo postCommentInfo);

    /**
     * 根据帖子ID查询评论列表
     * 
     * @param postId 帖子ID
     * @return 评论列表
     */
    public List<PostCommentInfo> selectCommentsByPostId(Long postId);

    /**
     * 新增帖子评论信息
     * 
     * @param postCommentInfo 帖子评论信息
     * @return 结果
     */
    public int insertPostCommentInfo(PostCommentInfo postCommentInfo);

    /**
     * 修改帖子评论信息
     * 
     * @param postCommentInfo 帖子评论信息
     * @return 结果
     */
    public int updatePostCommentInfo(PostCommentInfo postCommentInfo);

    /**
     * 删除帖子评论信息
     * 
     * @param id 帖子评论信息主键
     * @return 结果
     */
    public int deletePostCommentInfoById(Long id);

    /**
     * 统计帖子评论数
     * 
     * @param postId 帖子ID
     * @return 评论数量
     */
    public int countCommentsByPostId(Long postId);

    List<Long> getUserCommentLikedByPostId(Long postId, Long userId);
}